package com.rescue.service;

import com.rescue.forum.dto.*;
import com.rescue.forum.entity.UserInfo;
import com.rescue.forum.vo.AdminLoginVO;
import com.rescue.forum.vo.UserLoginVO;
import com.rescue.result.PageResult;

import javax.servlet.http.HttpServletRequest;


public interface UserInfoService {
    /**
     * 管理员登录
     *
     * @param adminLoginDTO
     * @return
     */
    AdminLoginVO login(AdminLoginDTO adminLoginDTO);

    /**
     * 分页查询结果
     *
     * @param userQueryDTO
     * @return
     */
    PageResult page(UserQueryDTO userQueryDTO);

    /**
     * 启用或禁用 用户
     *
     * @param status
     * @param userId
     */
    void updateUserStatus(Integer status, Integer userId);

    /**
     * 修改用户积分
     *
     * @param sendMessageDTO
     */
    void updateIntegral(SendMessageDTO sendMessageDTO);

    /**
     * 注册信息
     * @param userRegisterDTO
     */
    void register(UserRegisterDTO userRegisterDTO, HttpServletRequest request);

    /**
     * 用户登录接口
     * @param userLoginDTO
     * @return
     */
    UserLoginVO userLogin(UserLoginDTO userLoginDTO ,HttpServletRequest request);

    /**
     * 重置密码
     * @param resetPwdDTO
     */
    void resetPwd(ResetPwdDTO resetPwdDTO ,HttpServletRequest request);

    /**
     * 根据Id查找
     * @param userId
     * @return
     */
    UserInfo getUserInfo(Integer userId);

    /**
     * 修改个人信息
     * @param userUpdateInfoDAO
     */
    void updateUserInfo(UserUpdateInfoDAO userUpdateInfoDAO);
}
